import { defineStore } from 'pinia'
import { ref } from 'vue'

// 定义 Store
export const useDeviceStore = defineStore('deviceStore', () => {
  const statusBarHeight = uni.getStorageSync('statusBarHeight') || ref({}) //手机状态栏的高度，这个状态来就是手机顶部的电量啊，信号这些区域的高度，如果是刘海屏，它还会包含刘海屏的高度
  const menuButtonInfo = ref({}) //胶囊信息,就是微信小程序自带的那个有关闭，分享按钮的胶囊。
  const navBarHeight = uni.getStorageSync('navBarHeight') || ref({}) //状态栏与胶囊按钮中的空隙
  //缓存中没有的话就执行下面方法：
  statusBarHeight.value = uni.getSystemInfoSync().statusBarHeight
  menuButtonInfo.value = uni.getMenuButtonBoundingClientRect()
  //然后计算出navBarHeight
  navBarHeight.value =
    menuButtonInfo.value.bottom -
    statusBarHeight.value +
    (menuButtonInfo.value.top - statusBarHeight.value) //状态栏与胶囊按钮中的空隙
  //   console.log('navBarHeight.value', navBarHeight.value)
  return {
    statusBarHeight,
    menuButtonInfo,
    navBarHeight
  }
})
